草庐IT

ASP.NET Web Forms - 维持 ViewState

全部标签

c# - 在 ASP.NET 中重写 URL?

我正在使用ASP.NETC#。如何实现类似于StackOverflow.com的URL重写过程?http://stackoverflow.com/questions/358630/how-to-search-date-in-sql另外,URL中的“358630”等值是什么意思?这是问题ID(他们用来从表中获取数据的基础)吗?不管是什么,在我的应用程序中,我使用“ID”字段来识别记录。该字段是SQL表中的标识列。现在,我的URL如下所示:http://myweb.com/showdetails.aspx?id=9872但我希望它们看起来像:http://myweb.com/showdet

c# - 当使用 Visual Studio .NET 而非 Website 的 Web 应用程序项目类型时,我应该在哪里放置类? (ASP.NET)

我有丰富的在VisualStudio中创建ASP.NET网站的经验。但是有一种替代方法可以通过Web应用程序来完成同样的事情,它们的文件结构略有不同。自从我创建了我的第一个Web应用程序后,我不能再使用App_Code文件夹中的类(.cs文件),除非将它们移动到同一文件,否则ASPX和ASHX类看不到它们。碰巧我在许多文件中使用相同的类,我不想拥有它们的多个副本。我把这些类(class)放在哪里?有没有不创建另一个项目的解决方案? 最佳答案 我们一直在VS2008中为我们的所有项目使用Web应用程序项目类型,并将我们的公共(publ

c# - 如何从 ASP.NET Web API ValueProvider 中的 HTTP POST 请求检索正文值?

我想发送一个HTTPPOST请求,其正文包含构成一篇简单博客文章的信息,没什么特别的。我读过here当您想在WebAPI中绑定(bind)复杂类型(即不是string、int等的类型)时,一个好的方法是创建自定义模型绑定(bind)器。我有一个自定义模型绑定(bind)器(BlogPostModelBinder),它又使用自定义值提供程序(BlogPostValueProvider)。我不明白的是,我应该如何以及在何处能够从BlogPostValueProvider中的请求正文中检索数据?在模型Binder中,这是我认为的正确方法,例如检索标题。publicboolBindModel(

c# - 在 ASP.Net Core 项目中使用 ADO.Net 将 JSON 类型作为参数传递给 SQL Server 2016 存储过程

有人可以举例说明如何在C#ASP.NetCoreWebApi项目中使用ADO.Net将JSON类型作为参数传递给SQLServer2016存储过程吗?我想在C#ASP.NetCoreWebApi中查看SQLServer2016存储过程和JSON类型传递的示例。 最佳答案 SQLServer中没有json数据类型,您可以简单地将json作为nvarchar(max)发送到存储过程。如果您想将json映射到表,您可以使用OPENJSON将数据转换为行和列。CREATEPROCEDURESaveJSON@pIDint,@pJsonnvar

c# - 从 ASP.NET Web API ASP.NET Core 2 返回 HTML 并获取 http 状态 406

这是对ReturnHTMLfromASP.NETWebAPI的跟进.我按照说明进行操作,但在浏览器中收到错误406。我的代码:[Produces("text/html")][Route("api/[controller]")]publicclassAboutController:Controller{[HttpGet]publicstringGet(){return"Welcome";}...并且,简单地说:publicvoidConfigureServices(IServiceCollectionservices){services.AddMvc();}当我删除Produces行我得

c# - JWT 和 Windows 身份验证的 ASP.Net Core 2.0 混合身份验证不接受凭据

我在使用混合模式身份验证的asp.netcore2.0中创建了API。对于一些ControllerJWT和一些使用Windows身份验证的Controller。我对使用JWT授权的Controller没有问题。但是对于我想使用windows身份验证的Controller,我会无限期地提示chrome的用户名和密码对话框。这是我的示例Controller代码,我想在其中使用Windows身份验证而不是JWT。[Route("api/[controller]")][Authorize(AuthenticationSchemes="Windows")]publicclassTestContr

c# - ASP.NET 应用程序中搜索结果的缓存体系结构

在ASP.NET系统中缓存昂贵搜索结果的好的设计是什么?任何想法都将受到欢迎......特别是那些不需要我们自己发明复杂基础设施的想法。以下是与问题相关的一些一般要求:每个搜索结果可以产生从零到几百条结果记录执行每个搜索都相对昂贵且耗时(在数据库中5-15秒)结果在客户端显示之前必须分页以避免用户信息过载用户希望能够在返回的结果中进行排序、过滤和搜索用户希望能够在搜索结果中快速切换页面用户希望能够在任意数量的页面上选择多个项目(通过复选框)用户希望在搜索完成后获得相对快速的性能我看到了一些关于在哪里以及如何实现缓存的可能选项:1。在服务器上缓存(在session或应用程序缓存中),使用

c# - System.Web.HttpException 文件不存在 - 页面加载正常 (ASP.NET)

我正在使用Log4Net并在我的ASP.NET应用程序每次抛出错误时进行记录:protectedvoidApplication_Error(objectsender,EventArgse){Exceptionex=Server.GetLastError();Log.Error("Anerroroccurred",ex);}唉,每次我访问我的应用程序的页面时,都会捕获到System.Web.HttpException,“文件不存在”。这是堆栈跟踪:beiSystem.Web.StaticFileHandler.GetFileInfo(StringvirtualPathWithPathIn

c# - ASP.NET Odata Web API 的错误处理

我很想知道在ODataController中引发异常所遵循的最佳实践是什么。如果您在方法中引发异常,默认情况下它会转换为响应代码500,并且内容包含有关错误的详细信息。我想明确响应代码,并在key无效的情况下发送400。例如:如果输入请求有一个无效的键想返回400的HttpResponseCode并且内容应该有类似于引发异常的错误详细信息。非常感谢您的意见 最佳答案 OData(至少从v3开始)使用specificjson表示错误:{"error":{"code":"Acustomerrorcode","message":{"lan

c# - 如何在 ASP.NET MVC 站点中实现速率限制?

我正在构建一个ASP.NETMVC站点,我想在其中限制经过身份验证的用户使用站点某些功能的频率。虽然我了解速率限制的基本工作原理,但我无法想象如何在不产生主要代码味道的情况下以编程方式实现它。您能否用C#示例代码向我指出一个简单而强大的解决方案来解决此类问题?如果重要的话,所有这些功能目前都表示为仅接受HTTPPOST的操作。我最终可能还想为HTTPGET函数实现速率限制,因此我正在寻找适用于所有此类情况的解决方案。 最佳答案 如果您使用的是IIS7,您可以查看DynamicIPRestrictionsExtension.另一种可能